package com.guigu.health.service;

import com.github.pagehelper.PageInfo;
import com.guigu.health.pojo.*;

import java.util.List;
import java.util.Map;

/**
 * @ClassName:SetmealService
 * @Description:套餐业务
 * @Author:longtao
 * @Date:2021/3/30
 * @Version:1.0
 */
public interface SetmealService {
    /**
     * 查询所有套餐
     * @param example
     * @return
     */
    List<Setmeal> selectByExample(SetmealExample example);

    /**
     * 根据用户账号查找套餐
     * @param account
     * @return
     */
    List<SetMemberDetails> querySetMealByAccount(String account);

    /**
     * 显示每个套餐预约人数的总数
     * @return
     */
    List<Map<String,Object>> numberOfBookingPackages();

    /**
     * 条件模糊查询,并分页
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
   PageInfo<Setmeal> queryAllByName(SetmealExample name, Integer pageNum, Integer pageSize);


    /**
     * 修改套餐表
     * @param setmeal
     * @param example
     * @return
     */
    boolean updateSetMeal(Setmeal setmeal,SetmealExample example,int [] checkGroupIds);

    /**
     * 根据id删除套餐表
     * @param id
     * @return
     */
    boolean deleteSetMeal(Integer id);

    /**
     * 批量添加
     * @param list
     * @return
     */
    boolean addSetMealCheckGroup(List<Setmeal_CheckgroupKey> list);

    /**
     * 显示检查组中的检查项
     * @return
     */
    List<CheckGroup_CheckItem> queryAllCheckGroupCheckItem();

    /**
     * 新增套餐
     * @param setmeal
     * @return
     */
    boolean addSetMeal(Setmeal setmeal);

    /**
     * 显示检查组
     * @return
     */
    List<CheckGroup> queryAllCheckGroup();

    /**
     * 根据套餐id显示要选中的检查组id
     * @param id
     * @return
     */
    List<Integer> getCountCheckGroupIds(int id);

    /**
     * 编码名不一致
     * @param code
     * @return
     */
    int count(String code);
}
